package com.iris.live.services.common;

import com.iris.live.services.data.repositories.用户Repository;
import com.iris.live.services.services.SetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

/**
 * Created by DF on 2/28/2017
 */
@Component
@Transactional
public class UserUtils {
    private static 用户Repository userRepository;
    private  static SetService setService;

    // 用户上级校验方法，只接受空串，或者合法的邮箱，其他返回空
    public static String superiorCheck(String superior) {
        if (superior == null) {
            return null;
        } else {
            String triSuperior = superior.trim();
            if (triSuperior.length() == 0) { // 空串代表没上级
                return triSuperior;
            } else if ( setService.isRoleName(triSuperior)) { // 邮箱名
                String position = userRepository.findRoleByUsername(triSuperior);
                if (position == null) { // 此字段非null，找不到即认为用户不存在
                    return null;
                }
//                if (position == null) { // 审批人对应的角色为空
//                        resultData.setMessage("审批人" + userName + "没有设置角色");
//                    return null;
//                }
                // 上级不一定都有审批权限
//                if (!validateRole(position)) { // 审批人角色没有审批权限
//                        resultData.setMessage("审批人" + userName + "对应的角色没有审批权限");
//                    return null;
//                }
                return triSuperior;
            } else {
                return null;
            }
        }
    }


    @Autowired
    private   void  setSetService(SetService setService){ UserUtils.setService = setService;};

    @Autowired
    public void setUserRepository(用户Repository userRepository) {
        UserUtils.userRepository = userRepository;
    }
}
